// Have include guard.
#ifndef TESTAUTONOMOUSCONTROLLER_H
#define TESTAUTONOMOUSCONTROLLER_H

// Include files.
#include "EntechFpk.hpp"
#include "TestRobot.hpp"

class TestRobot;

class TestAutonomousController :
	public StateMachineController
{
	public:
		TestAutonomousController(TestRobot &robot);
	protected:
		virtual void Initialize();
	private:
		// Up, Up, Down, Down, Left, Right, Left, Right
		ChainState m_konamiCode;
		MecanumDriveSubsystem::DriveState m_up1;
		MecanumDriveSubsystem::DriveState m_up2;
		MecanumDriveSubsystem::DriveState m_down1;
		MecanumDriveSubsystem::DriveState m_down2;
		MecanumDriveSubsystem::DriveState m_left1;
		MecanumDriveSubsystem::DriveState m_right1;
		MecanumDriveSubsystem::DriveState m_left2;
		MecanumDriveSubsystem::DriveState m_right2;
};

#endif // #ifndef TESTAUTONOMOUSCONTROLLER_H
